<?php

class UsersController extends Controller
{
    public $layout = 'admin-login';

    /**
     * Declares class-based actions.
     */
    public function actions()
    {
        return array(
            // captcha action renders the CAPTCHA image displayed on the contact page
            'captcha' => array(
                'class' => 'CCaptchaAction',
                'backColor' => 0xFFFFFF,
            ),
            // page action renders "static" pages stored under 'protected/views/site/pages'
            // They can be accessed via: index.php?r=site/page&view=FileName
            'page' => array(
                'class' => 'CViewAction',
            ),
        );
    }

    /**
     * This is the action to handle external exceptions.
     */
    public function actionError()
    {
        if ($error = Yii::app()->errorHandler->error) {
            if (Yii::app()->request->isAjaxRequest)
                echo $error['message'];
            else
                $this->render('error', $error);
        }
    }

    /**
     * Displays the login page
     */
    public function actionLogin()
    {
        if (!Yii::app()->user->isGuest) {
            $this->redirect('/admin');
        }
        if (!defined('CRYPT_BLOWFISH') || !CRYPT_BLOWFISH)
            throw new CHttpException(500, "This application requires that PHP was compiled with Blowfish support for crypt().");

        $loginModel = new AdminLoginForm('Back');

        // if it is ajax validation request
        if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') {
            echo CActiveForm::validate($loginModel);
            Yii::app()->end();
        }

        // collect user input data
        if (isset($_POST['AdminLoginForm'])) {
            $loginModel->attributes = $_POST['AdminLoginForm'];
            // validate user input and redirect to the previous page if valid
            if ($loginModel->validate() && $loginModel->login()) {
                $this->redirect('/admin/shop/admin');
            } else {
            	Yii::app()->user->setFlash('error', "Username or Password incorrect");
            }
        }

        // display the login form
        $this->render('login', array('loginModel' => $loginModel));
    }

    /**
     * Logs out the current user and redirect to homepage.
     */
    public function actionLogout()
    {

        Yii::app()->user->logout();
        $this->redirect(Yii::app()->homeUrl);
    }
}
